package com.yboot.starter.satoken.core.utils;

import cn.dev33.satoken.exception.SaTokenException;
import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.StpUtil;
import com.yboot.starter.common.core.security.SecurityUserVO;
import com.yboot.starter.common.core.userdetails.LoginUser;

import java.util.Optional;

/**
 * 功能描述
 *
 * @author yangcs
 * @date 2025/8/26
 */
public class SaTokenUtils {

    /**
     * 获取用户
     * @return
     */
    public static LoginUser getUser() {
        LoginUser loginUser = (LoginUser) StpUtil.getSession().get(SaSession.USER);
        if (loginUser == null) {
            throw new SaTokenException("未登录认证用户");
        }
        return loginUser;
    }

    /**
     * 获取用户id
     */
    public static String getUserId() {
        return StpUtil.getLoginIdAsString();
    }

    /**
     * 是否是超级管理员账号
     */
    public static boolean isAdmin(String userId) {
        return "1".equals(userId);
    }
}
